home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / MacOSMediaPartitionMap.a < prev    next >
Text File  |  1996-05-01  |  4KB  |  86 lines

  1. ;
  2. ;    File:        MacOSMediaPartitionMap.a
  3. ;
  4. ;    Contains:    MacOS Partition Map Format definitions
  5. ;
  6. ;    Version:    Technology:    Copland
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__MACOSMEDIAPARTITIONMAP__') = 'UNDEFINED' THEN
  19. __MACOSMEDIAPARTITIONMAP__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF FOR_SYSTEM8_PREEMPTIVE THEN
  25. ;
  26. ; * Prior to System 8 these structures are defined in SCSI.h
  27. ;
  28. ;  Signatures 
  29.  
  30. sbSIGWord                        EQU        $4552                ; signature word for Block 0 ('ER') 
  31. sbMac                            EQU        1                    ; system type for Mac 
  32. pMapSIG                            EQU        $504D                ; partition map signature ('PM') 
  33. pdSigWord                        EQU        $5453
  34.  
  35. oldPMSigWord                    EQU        $5453
  36. newPMSigWord                    EQU        $504D
  37. ;  Driver Descriptor Map 
  38. Block0                    RECORD 0
  39. sbSig                     ds.w    1                ; offset: $0 (0)        ;  unique value for SCSI block 0 
  40. sbBlkSize                 ds.w    1                ; offset: $2 (2)        ;  block size of device 
  41. sbBlkCount                 ds.l    1                ; offset: $4 (4)        ;  number of blocks on device 
  42. sbDevType                 ds.w    1                ; offset: $8 (8)        ;  device type 
  43. sbDevId                     ds.w    1                ; offset: $A (10)        ;  device id 
  44. sbData                     ds.l    1                ; offset: $C (12)        ;  not used 
  45. sbDrvrCount                 ds.w    1                ; offset: $10 (16)        ;  driver descriptor count 
  46. ddBlock                     ds.l    1                ; offset: $12 (18)        ;  1st driver's starting block 
  47. ddSize                     ds.w    1                ; offset: $16 (22)        ;  size of 1st driver (512-byte blks) 
  48. ddType                     ds.w    1                ; offset: $18 (24)        ;  system type (1 for Mac+) 
  49. ddPad                     ds.w    243                ; offset: $1A (26)        ;  ARRAY[0..242] OF INTEGER; not used 
  50. sizeof                     EQU *                    ; size:   $200 (512)
  51.                         ENDR
  52. ; Driver descriptor
  53. DDMap                    RECORD 0
  54. ddBlock                     ds.l    1                ; offset: $0 (0)        ;  1st driver's starting block 
  55. ddSize                     ds.w    1                ; offset: $4 (4)        ;  size of 1st driver (512-byte blks) 
  56. ddType                     ds.w    1                ; offset: $6 (6)        ;  system type (1 for Mac+) 
  57. sizeof                     EQU *                    ; size:   $8 (8)
  58.                         ENDR
  59. ;  Partition Map Entry 
  60. ;  packed in ".i"
  61. Partition                RECORD 0
  62. pmSig                     ds.w    1                ; offset: $0 (0)        ;  unique value for map entry blk 
  63. pmSigPad                 ds.w    1                ; offset: $2 (2)        ;  currently unused 
  64. pmMapBlkCnt                 ds.l    1                ; offset: $4 (4)        ;  # of blks in partition map 
  65. pmPyPartStart             ds.l    1                ; offset: $8 (8)        ;  physical start blk of partition 
  66. pmPartBlkCnt             ds.l    1                ; offset: $C (12)        ;  # of blks in this partition 
  67. pmPartName                 ds.b    32                ; offset: $10 (16)        ;  ASCII partition name 
  68. pmParType                 ds.b    32                ; offset: $30 (48)        ;  ASCII partition type 
  69. pmLgDataStart             ds.l    1                ; offset: $50 (80)        ;  log. # of partition's 1st data blk 
  70. pmDataCnt                 ds.l    1                ; offset: $54 (84)        ;  # of blks in partition's data area 
  71. pmPartStatus             ds.l    1                ; offset: $58 (88)        ;  bit field for partition status 
  72. pmLgBootStart             ds.l    1                ; offset: $5C (92)        ;  log. blk of partition's boot code 
  73. pmBootSize                 ds.l    1                ; offset: $60 (96)        ;  number of bytes in boot code 
  74. pmBootAddr                 ds.l    1                ; offset: $64 (100)        ;  memory load address of boot code 
  75. pmBootAddr2                 ds.l    1                ; offset: $68 (104)        ;  currently unused 
  76. pmBootEntry                 ds.l    1                ; offset: $6C (108)        ;  entry point of boot code 
  77. pmBootEntry2             ds.l    1                ; offset: $70 (112)        ;  currently unused 
  78. pmBootCksum                 ds.l    1                ; offset: $74 (116)        ;  checksum of boot code 
  79. pmProcessor                 ds.b    16                ; offset: $78 (120)        ;  ASCII for the processor type 
  80. pmPad                     ds.w    188                ; offset: $88 (136)        ;  ARRAY[0..187] OF INTEGER; not used 
  81. sizeof                     EQU *                    ; size:   $200 (512)
  82.                         ENDR
  83.     ENDIF
  84.     ENDIF ; __MACOSMEDIAPARTITIONMAP__ 
  85.  
  86.